home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / arvis1 / resmod.bas < prev    next >
BASIC Source File  |  1999-08-16  |  2KB  |  68 lines

  1. Attribute VB_Name = "ResMod"
  2. ' I Got This Sub From Planet-Source-Code
  3. ' It Was Written By Mike Miller.
  4. ' I added the ability to return a true or false
  5. ' so the programmer knows if the user's computer
  6. ' supports the display.
  7. Private Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Long, ByVal iModeNum As Long, lpDevMode As Any) As Boolean
  8. Private Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" (lpDevMode As Any, ByVal dwflags As Long) As Long
  9. Public Const CCDEVICENAME = 312
  10. Public Const CCFORMNAME = 32
  11. Public Const DM_PELSWIDTH = &H80000
  12. Public Const DM_PELSHEIGHT = &H100000
  13. Private Type DEVMODE
  14.     dmDeviceName As String * CCDEVICENAME
  15.     dmSpecVersion As Integer
  16.     dmDriverVersion As Integer
  17.     dmSize As Integer
  18.     dmDriverExtra As Integer
  19.     dmFields As Long
  20.     dmOrientation As Integer
  21.     dmPaperSize As Integer
  22.     dmPaperLength As Integer
  23.     dmPaperWidth As Integer
  24.     dmScale As Integer
  25.     dmCopies As Integer
  26.     dmDefaultSource As Integer
  27.     dmPrintQuality As Integer
  28.     dmColor As Integer
  29.     dmDuplex As Integer
  30.     dmYResolution As Integer
  31.     dmTTOption As Integer
  32.     dmCollate As Integer
  33.     dmFormName As String * CCFORMNAME
  34.     dmUnusedPadding As Integer
  35.     dmBitsPerPel As Integer
  36.     dmPelsWidth As Long
  37.     dmPelsHeight As Long
  38.     dmDisplayFlags As Long
  39.     dmDisplayFrequency As Long
  40. End Type
  41.                 
  42.  
  43. Public Function ChangeRes(iWidth As Single, iHeight As Single) As Boolean
  44.  
  45. Dim DevM As DEVMODE
  46. Dim a As Boolean
  47. Dim b&
  48. Dim i&
  49.  
  50. i = 0
  51.  Do
  52.   a = EnumDisplaySettings(0&, i&, DevM)
  53.   i = i + 1
  54.  Loop Until (a = False)
  55.     DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT
  56.     DevM.dmPelsWidth = iWidth
  57.     DevM.dmPelsHeight = iHeight
  58.     b = ChangeDisplaySettings(DevM, 0)
  59.     If b = 0 Then
  60.      ChangeRes = True
  61.     Else
  62.      ChangeRes = False
  63.     End If
  64. End Function
  65.  
  66.  
  67.  
  68.